package ar.com.siavu.domain;

import java.util.Comparator;
import java.util.Date;

public abstract class Actividad implements Comparable{
	 private Long ActividadID;
     private Programacion Programacion;
     private String Descripcion;
     private Date FechaInicio;
     private Date FechaFin;
     private Integer Duracion;
     private int EstadoActividad;
     private String Observacion;
     private boolean fechaVariable;

     //private Integer TipoActividad ;

	public Long getActividadID() {
		return ActividadID;
	}

	public void setActividadID(Long actividadID) {
		ActividadID = actividadID;
	}

	public Programacion getProgramacion() {
		return Programacion;
	}

	public void setProgramacion(Programacion programacion) {
		Programacion = programacion;
	}

	public String getDescripcion() {
		return Descripcion;
	}

	public void setDescripcion(String descripcion) {
		Descripcion = descripcion;
	}

	public Date getFechaInicio() {
		return FechaInicio;
	}

	public void setFechaInicio(Date fechaInicio) {
		FechaInicio = fechaInicio;
	}

	public Date getFechaFin() {
		return FechaFin;
	}

	public void setFechaFin(Date fechaFin) {
		FechaFin = fechaFin;
	}

	public Integer getDuracion() {
		return Duracion;
	}

	public void setDuracion(Integer duracion) {
		Duracion = duracion;
	}

	public int getEstadoActividad() {
		return EstadoActividad;
	}

	public void setEstadoActividad(int estadoActividad) {
		EstadoActividad = estadoActividad;
	}

	public String getObservacion() {
		return Observacion;
	}

	public void setObservacion(String observacion) {
		Observacion = observacion;
	}
	

	@Override
	public int compareTo(Object o) {
		Actividad act1=this;
		Actividad act2=(Actividad)o;
		if (act1.getFechaInicio().before(act2.getFechaInicio())){
			return -1;
		} 
		return 1;
	}

	public boolean isFechaVariable() {
		return fechaVariable;
	}

	public void setFechaVariable(boolean fechaVariable) {
		this.fechaVariable = fechaVariable;
	}

//	public Integer getTipoActividad() {
//		return TipoActividad;
//	}
//
//	public void setTipoActividad(Integer tipoActividad) {
//		TipoActividad = tipoActividad;
//	}
    
	public abstract Actividad clone();
}
